package com.tyk.bookstore.back.logistics.model.vo;


import com.tyk.bookstore.back.logistics.model.enume.WaybillState;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @author tyk
 * @description 运单
 */
@Data
public class WaybillVo {

    @Schema(description = "ID")
    private Long id;

    @Schema(description = "会员ID")
    private Long memberId;

    @Schema(description = "订单ID")
    private Long orderId;

    @Schema(description = "物流单号")
    private String trackingNo;

    @Schema(description = "货物重量[单位：克]")
    private Long weight;

    @Schema(description = "运费")
    private BigDecimal freight;

    @Schema(description = "仓库ID")
    private Long warehouseId;

    @Schema(description = "仓库名称")
    private String warehouseName;

    @Schema(description = "快递公司ID")
    private Long expressCompanyId;

    @Schema(description = "快递公司名称")
    private String expressCompanyName;

    @Schema(description = "状态")
    private WaybillState state;

    @Schema(description = "寄件人所在区域ID")
    private Long senderAreaCode;

    @Schema(description = "寄件人所在区域")
    private String senderAreaFullName;

    @Schema(description = "寄件人姓名")
    private String senderName;

    @Schema(description = "寄件人电话")
    private String senderPhone;

    @Schema(description = "寄件人地址")
    private String senderAddress;

    @Schema(description = "收件人所在区域ID")
    private Long cneeAreaCode;

    @Schema(description = "收件人所在区域")
    private String cneeAreaFullName;

    @Schema(description = "收件人姓名")
    private String cneeName;

    @Schema(description = "收件人电话")
    private String cneePhone;

    @Schema(description = "收件人地址")
    private String cneeAddress;

    @Schema(description = "创建时间")
    private LocalDateTime createTime;

    @Schema(description = "更新时间")
    private LocalDateTime updateTime;
}
